package cn.topevery.garden.entity.dto;

import hw.topevery.framework.dto.PointDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.locationtech.jts.geom.Geometry;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 *  DTO
 *
 * @author code-generate
 * @date 2021-08-06
 */
@Data
@ApiModel(value = "ParkingLotDTO", description = " DTO")
public class ParkingLotDTO implements Serializable{
    /**
     * 自增id
     */
    private Integer id;

        /** 停车场名称 */
    @ApiModelProperty(value = "停车场名称")
    private String name;

    /** 停车场名称简称 */
    @ApiModelProperty(value = "停车场名称简称")
    private String nameShort;

    /** 片区id t_extent.c_id */
    @ApiModelProperty(value = "片区id t_extent.c_id")
    private Integer extentId;

    /** 片区 */
    @ApiModelProperty(value = "片区")
    private String extentName;

    /** 公园id t_park.c_id */
    @ApiModelProperty(value = "公园id t_park.c_id")
    private Integer parkId;

    /** 公园 */
    @ApiModelProperty(value = "公园")
    private String parkName;

    /** 总停车位个数 */
    @ApiModelProperty(value = "总停车位个数")
    private Integer parkingSpaceCnt;

    /** 停车场普通车位个数 */
    @ApiModelProperty(value = "停车场普通车位个数")
    private Integer parkingSpaceOrdinaryCnt;

    /** 停车场中大型车位个数 */
    @ApiModelProperty(value = "停车场中大型车位个数")
    private Integer parkingSpaceBigCnt;

    /** 停车场带充电桩车位个数 */
    @ApiModelProperty(value = "停车场带充电桩车位个数")
    private Integer parkingSpaceChargingCnt;

    /** 停车场地址 */
    @ApiModelProperty(value = "停车场地址")
    private String address;

    /** 停车场状态（1 正常、0 停用） */
    @ApiModelProperty(value = "停车场状态（1 正常、0 停用）")
    private Integer status;

    /** 收费规则 */
    @ApiModelProperty(value = "收费规则")
    private String chargeRule;

    /** 出口个数 */
    @ApiModelProperty(value = "出口个数")
    private Integer outCnt;

    /** 入口个数 */
    @ApiModelProperty(value = "入口个数")
    private Integer inCnt;

    /** 创建时间 */
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime dbCreateDate;

    /** 创建人ID 对应t_sys_user.c_id */
    @ApiModelProperty(value = "创建人ID 对应t_sys_user.c_id")
    private Integer dbCreateId;

    /** 更新时间 */
    @ApiModelProperty(value = "更新时间")
    private LocalDateTime dbLastUpdateDate;

    /** 更新人员ID 对应t_sys_user.c_id */
    @ApiModelProperty(value = "更新人员ID 对应t_sys_user.c_id")
    private Integer dbLastUpdateId;

    /** 设施Id  t_facilities.c_id */
    @ApiModelProperty(value = "设施Id  t_facilities.c_id")
    private Integer facilitiesId;

    /** 状态时间 */
    @ApiModelProperty(value = "状态时间")
    private LocalDateTime date;

    /** 空闲普通车位个数 */
    @ApiModelProperty(value = "空闲普通车位个数")
    private Integer parkingSpaceOrdinaryCntFree;

    /** 空闲中大型车位个数 */
    @ApiModelProperty(value = "空闲中大型车位个数")
    private Integer parkingSpaceBigCntFree;

    /** 空闲带充电桩车位个数 */
    @ApiModelProperty(value = "空闲带充电桩车位个数")
    private Integer parkingSpaceChargingCntFree;

    /** 范围 bd09 */
    @ApiModelProperty(value = "范围 bd09")
    private Geometry geomBd09;

    /** 范围  wgs84 */
    @ApiModelProperty(value = "范围  wgs84")
    private Geometry geomWgs;

    /** 范围 大地2000 */
    @ApiModelProperty(value = "范围 大地2000")
    private Geometry geom2000;

    /** 范围  火星 */
    @ApiModelProperty(value = "范围  火星")
    private Geometry geomGcj02;

    /** 范围 百度魔卡托平面 */
    @ApiModelProperty(value = "范围 百度魔卡托平面")
    private Geometry geomMkt;

    @ApiModelProperty(value = "范围点信息")
    public List<List<PointDto>> mapRangesPoints;
}
